package com.bsj.power.common.def.dto.video;

import com.bsj.power.common.def.dto.media.RealCtrolParam;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Description 实时视频控制参数
 * @Author zhaoyang
 * @Date 2023/6/19 15:01
 */
@Data
@NoArgsConstructor
public class RealVideoControl {

    /**
     * 逻辑通道号
     */
    private Integer channelNo;

    /**
     * 控制指令
     * 0:关闭音视频传输指令
     * 1:切换码流（增加暂停和继续〉
     * 2:暂停该通道所有流的发送
     * 3:恢复暂停前流的发,与暂停前的流类
     * 型一致
     * 4:关闭双向对讲
     */
    private Integer controlType;

    /**
     * 关闭音视频类型
     * 0:关闭该通道有关的音视频数据；
     * 1:只关闭该通道有关的音频，保留该通道
     * 有关的视频
     * 2:只关闭该通道有关的视频，保留该通道
     * 有关的音频
     */
    private Integer closeType;

    /**
     * 切换码流类型
     * 0:主码流 1:子码流
     */
    private Integer streamType;

    public RealVideoControl(RealCtrolParam param) {
        this.channelNo = param.getChannelNo();
        this.closeType = param.getCloseType();
        this.controlType = param.getControlType();
        this.streamType = param.getStreamType();
    }

    public RealVideoControl(Integer channelNo, Integer controlType, Integer closeType, Integer streamType) {
        this.channelNo = channelNo;
        this.controlType = controlType;
        this.closeType = closeType;
        this.streamType = streamType;
    }

}
